Skip to main content
Version: DAI 7.4

DAI Components

DAI consists of multiple components. Most DAI installations are implemented with various combinations of these components to achieve optimal test coverage and performance. The different components can run on different machines and operating systems as described on the Prerequisites page. You can run DAI on-premises ("on-prem"), hosted in the Eggplant Cloud, or deployed in containers as described in Deploying Eggplant DAI in Containers.

For information about licensing DAI components, see Eggplant DAI Licensing Overview. For information about system recommendations and supported software, including operating systems, see the Prerequisites page.

Component Overview

The diagram below illustrates the DAI components. Below the diagram are high-level descriptions of the components, followed by more information about each of them.

note

The diagram shows the DAI components in separate boxes based on how they are used, including: DAI Server, test development, and test execution. In reality, you can install DAI components in various combinations on the same or different machines.

DAI Components

  • The DAI Server: The Eggplant DAI Server provides system administrator and test developer tools. For system administrators, it facilitates authentication and manages licensing. For test developers, it serves the Dashboards, Designer, Controller, and Insights apps. The diagram shows it serving the Modeler app and a dashboard, which are being viewed in a browser on the Test Developer Machine. See The Eggplant DAI Server below for more information.

  • The Test Developer Components: The components that you use to create, schedule, and run tests if you are a test developer. Test developers use the DAI dashboard, Designer, and Controller apps in a browser, as well as a Design Agent and the Eggplant Functional (EPF) graphical user interface (GUI) to create and run test scripts, which are called snippets in DAI. The DAI Design Agent and EPF in GUI mode combine to be what is known as a Design Environment in DAI.

  • The Test Execution Components: The machine where tests run unattended. After test developers create tests, the tests can run unattended from a DAI schedule, the command line, or any DevOps pipeline. The DAI components that run tests unattended are the Run Agent and EPF in command line mode (also known as "headless" mode). These components combine to be what is known as a Run Environment in DAI. Running tests with an Run Environment uses fewer machine resources (such as less memory) than a Design Environment.

  • Systems Under Tests: The systems or devices you run your tests against are your systems under test (SUTs). Your tests can run against SUTs, both when you are authoring them in or when they are running unattended. DAI supports desktops, browsers, mobile devices, and other devices accessible using a KVM switch, such as point-of-sale (POS ) systems, human machine interfaces (HMI) systems, and virtual devices. See Systems Under Test below for more information.

note

A DAI configuration may also include a Reprise License Manager (RLM), if Eggplant Functional uses one for licensing.

Read on for more information about the DAI components listed above.

The Eggplant DAI Server

The Eggplant DAI Server is the heart of DAI. It serves the DAI dashboards, Designer, Controller, and Insights web apps, and facilitates authentication and license management. All of these tools are accessible through a browser from any machine with network access to the DAI Server. See The Eggplant DAI Interface for more information.

The DAI Server is available in the installations types listed in the following table:

DAI ServerDescriptionReferences
For on-premise Windows installationsThe DAI Server runs in the background as a Windows service.See Install or Upgrade DAI on Windows.
For cloud-hosted installationsDAI runs hosted in the cloud.Contact your Technical Success Manager or our Customer Support for more information.
For linux container deploymentsThe DAI Server runs in a container.See Deploying Eggplant DAI in Containers.

DAI Environments

DAI Environments are the components you use to create your snippets, connect them to your model or test configurations, and then run your tests in DAI. DAI Environments typically run on a separate machine from the DAI server, but can run on the same machine with adequate disk space and memory. DAI Environments consist of DAI agents and Eggplant Functional (EPF) instances, which are described in more detail below.

There are two types of DAI Environments as described in the following table:

DAI Environment TypesComponents
Design EnvironmentsTest developers use Design Environments to create and manage their test snippets, connect them to models, and run tests with live run.
Design Environments use the DAI Design Agent and EPF in graphical user interface (GUI) mode. The diagram above shows the Design Environment with the Test Developer Components, in the lower-left corner.
Run EnvironmentsTest developers use Run Environments to run tests unattended from a schedule, a command line (such as from a batch file), or a DevOps pipeline.
A Run Environment consists of a DAI Run Agent and EPF in command line mode (also known as "headless" mode), which means EPF runs snippets without the GUI. The diagram above shows the Run Environment with the Test Execution Components, in the upper-right corner.

For more information, see Environments and About Execution Environments and Agents.

The Environments Page

You add environments to DAI on the Environments page in the DAI Controller by navigating to Controller > Environments. The Environments page lists all the environments added in DAI, with either a green Connected or black Disconnected status. The Connected status indicates the environment is available for DAI to access snippets and run tests; the Disconnected status indicates the environment is not available. The Environments page also shows the type of environment as either DESIGN or RUN. For more information about adding environments, see Environments.

DAI Agents

The DAI Server connects to a DAI agent to initiate test runs. The agents, in turn, use EPF to run the test snippets, which are called "snippets" in DAI. As mentioned in DAI Environments above, DAI provides two types of agents: the Design Agent and the Run Agent. Descriptions of each follow:

DAI Design Agent

When you start the Design Agent, it launches EPF in GUI mode and you will see it on the Environments page in the DAI Controller with a Connected status and in Design mode. The EPF GUI remains open until you quit the DAI Design Agent.

Agent TypeDescriptionReferencesExample of How It Works
Design AgentA GUI application that manages Eggplant test suites and runs the test snippets in DAI. The Design Agent uses either DAI internal storage or an integrated Git repository to manage the tests suites.See Connecting an Eggplant Functional Suite for more information about Eggplant test suites.
See Manage Suites (Internal Storage) for more information about DAI internal suite storage.
See Working with Git Repositories in DAI for more information.
An example of how the Design Agent works is when you run a Model test in the DAI Designer that uses snippets. In this scenario, the DAI Designer initiates the test run with the Design Agent, which then runs the snippet with EPF. You can see the test run in the EPF GUI, if you are looking at the machine where it is running.

DAI Run Agent

Like the DAI Design Agent, when you start the Run Agent, you will see it on the Environments page in the DAI Controller with status Connected and in Run mode. It does not launch the EPF GUI, but instead only runs EPF in command line mode when the DAI Controller initiates a test run. The Run Agent may remain running and connected but the EPF instance quits as soon as it finishes a test run.

Agent TypeDescriptionReferencesExample of How It Works
Run AgentRuns tests using EPF in command line mode.


For Windows installations, you can configure it to run as a Windows service.
See Running the Agent in Command Line Mode (DAI Run Agent).
See Running the Agent as a Windows Service (DAI Run Agent).
An example of when the Run Agent is used is when a scheduled test runs in the DAI Controller. In this scenario, the Controller uses the DAI Run Agent to run the script with EPF in command line ("headless") mode. You will not see the test run in the EPF GUI, even if you are looking at the machine where it is running like you would in a Design Environment.
note

The Run Agent can also be configured to run tests outside of the DAI Controller in command line mode using batch files or shell scripts.

Eggplant Functional

Eggplant Functional (EPF) is the component that runs the test scripts, which are called snippets in DAI. The DAI Controller or Designer initiates the test run with the DAI Design or Run Agent, which runs the test snippets with EPF. See Eggplant DAI Integration with Eggplant Functional for more information. EPF is installed on every machine in the DAI environment that will run test snippets.

EPF ModeDescription
EPF in GUI ModeEPF runs in GUI mode with DAI when it is launched by the DAI Design Agent. It remains running until you quit the DAI Design Agent.
EPF in Command Line Interface (CLI) ModeEPF runs in command line mode when it is launched by the DAI Run Agent. It only runs for the duration of test snippet run.

Reprise License Manager (RLM) for EPF Licensing

Eggplant Functional (EPF) can use a third-party license manager called, "Reprise License Manager (RLM)" to serve licenses. For more information about RLM, see Licensing Eggplant Functional.

Systems Under Test (SUTs)

The systems or devices you use DAI to drive tests against are your systems under test (SUTs). DAI supports desktops, browsers, mobile, and other devices, as long as they are accessible using the supported connection protocols: RDP, VNC, webdriver, Citrix (Windows only), and Sauce Labs. Note this support includes devices accessible using a KVM switch, such as point-of-sale (POS) systems, human machine interfaces (HMI) systems, and virtual devices. For more information about KVM switches, see Using a KVM-over-IP Device in the Eggplant Functional documentation.

The diagram above shows the variety of systems DAI supports as SUTs in the System Under Test box in the lower right corner.

The SUTs Page

You can add SUTs and see a list of existing ones on the SUTs page by navigating to Controller > SUTs.